package consultorio;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Medicos {
Conectar con;
  public Medicos (){
    con = new Conectar();
  } 
  public void NuevoMedicos(String Medicos_rut, String Medicos_nombre, String Medicos_apellido, String Medicos_especialidad){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "Medicos (Medicos_rut, Medicos_nombre, Medicos_apeliido, Medicos_especialidad) " +
                    " values(?,?,?,?)");            
            pstm.setString(1, Medicos_rut);
            pstm.setString(2, Medicos_nombre);
            pstm.setString(3, Medicos_apellido);                        
            pstm.setString(4, Medicos_especialidad);                        
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }
public Object [][] getDatos(){
      int registros = 0;
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM Medicos");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
      
    Object[][] data = new String[registros][5];  
    try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " Medicos_rut, Medicos_nombre, Medicos_apeliido, Medicos_especialidad" +
            " FROM Medicos" +
            " ORDER BY Medicos_rut");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estCodigo = res.getString("Medicos_rut");
            String estNombre = res.getString("Medicos_nombre");
            String estApellido = res.getString("Medicos_apeliido");
            String estEspecialidad = res.getString("Medicos_especialidad");
            data[i][0] = estCodigo;            
            data[i][1] = estNombre;            
            data[i][2] = estApellido;            
            data[i][3] = estEspecialidad;
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
 } 
 public void deleteMedicos(String cod){
            try {                
                PreparedStatement pstm = con.getConnection().prepareStatement("delete from Paciente where Medicos_rut= ?");            
                pstm.setString(1, cod);                   
                pstm.execute();
                pstm.close();            
            }catch(SQLException e){
            System.out.println(e);
            }            
   }
 public void updateMedicos(String Medicos_rut, String Medicos_nombre, String Medicos_apellido, String Medicos_especialidad){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("update Medicos" +
            "Medicos_rut = ? ," +
            "Medicos_nombre = ? ," +
            "Medicos_apeliido= ? ," +                    
            "Medicos_especialidad= ? " +                    
            "where Medicos_rut = ? ");            
            pstm.setString(1, Medicos_rut);                   
            pstm.setString(2, Medicos_nombre);
            pstm.setString(3, Medicos_apellido);
            pstm.setString(4, Medicos_especialidad);
            pstm.setString(5, String.valueOf(Medicos_rut));
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }
}